# 1、定义好班级同学人员列表，让同学们互送礼物，要求：不能自己送自己，随机送礼，一个人只能收一份礼物。
# 定义好人员名单，循环送礼物的人，随机挑选一个收礼物的，最终打印送礼和收礼的关系
import random

import os

name_list = ['zz', 'qy', 'wbw', 'gn', 'trx']
receive_list = name_list.copy()
for i in name_list:
    while True:
        deliver_list = name_list.copy()
        deliver_list.remove(i)
        n = random.randint(0, len(deliver_list) - 1)
        name = deliver_list[n]
        if name in receive_list:
            receive_list.remove(name)
            print(f'送礼的人是{i},收礼的人是{name}')
            break
        else:
            pass


# 2、定义字典，将字典里面的整数相加，最终打印哪些key相加，它们相加的值是多少。
d1 = {'a': 10, 'b': 11.2, 'c': 12, 'd': 0.5}
key_list = []
su = 0
for i in d1:
    if type(d1.get(i)) == int:
        key_list.append(i)
        su += d1.get(i)
print("这些key相加", end=" ")
for j in key_list:
    print(j, end=" ")
print(f'相加的值为{su}')


# 3.定义一个列表，里面全部存放整数类型，输出列表中的最大值、最小值、和、平均值。
num_list = [1, 2, 3, 4, 5, 6, 7, 8]
big = max(num_list)
little = min(num_list)
sum1 = 0
for i in num_list:
    sum1 += i
average = sum1 / len(num_list)
print(f'列表中的最大值为{big},最小值为{little},和为{sum1}，平均值为{average}')


# 4、使用python实现ls命令，接受从键盘输入的文件路径，如果路径是文件夹，打印路径下有哪些文件或文件夹。如果路径是文件，就只输出当前文件本身。
path = input("请输入文件路径:")
doc = os.listdir(path)
for i in doc:
    str1 = i[0:1]
    if str1 != '.':
        print(i)
